Double-Buffering
the Display
public class DoubleBufferPanel extends Panel {
  Image offscreen;

  public void invalidate() {
      super.invalidate();
      offscreen = null;
  }
  public void update(Graphics g) {
      paint(g);
  }
  public void paint(Graphics g) {
      if(offscreen == null) {
         offscreen = createImage(getSize().width, getSize().height);
      }
      Graphics og = offscreen.getGraphics();
      og.setClip(0,0,getSize().width, getSize().height);
      super.paint(og);
      g.drawImage(offscreen, 0, 0, null);
      og.dispose();
  }
}

Return to Tracks